The inventive concepts disclosed herein relate generally to the field of navigation systems. More particularly, embodiments of the inventive concepts disclosed herein relate to systems and methods for GNSS processing to determine secondary code phase.
Global navigational satellite systems (GNSS) refer to a variety of satellite navigation systems used for providing autonomous geo-spatial positioning. These satellite navigation systems include, for example, the global positioning system (GPS), the Russian global orbiting navigational satellite system (GLONASS), the European satellite navigation system Galileo, the Chinese satellite navigation systems BeiDou, and other global or regional systems. Each satellite navigation system can include a constellation of satellites deployed in orbits around the earth that continuously transmit positioning signals. The constellation of satellites can transmit positioning signals over various frequency bands. For example, GPS satellites can transmit L1-band positioning signals having a center frequency of 1575.42 MHz, L2-band positioning signals with a center frequency of 1227.6 MHz, and L5-band positioning signals with a center frequency of 1176.45 MHz. Distinct frequency bands may be associated with different types of navigation applications, e.g., civil or military navigation.
Some satellite navigation systems, such as the GPS system, the Galileo system, and the BeiDou-2 system employ code division multiple access (CDMA). The use of CDMA allows for efficient use of frequency bandwidth by allowing simultaneous transmissions over a single center frequency by multiple satellite transmitters. In particular, satellite transmitters use different ranging codes (or chipping codes), therefore, allowing GNSS receivers to distinguish between positioning signals simultaneously transmitted by different satellite transmitters at a single center frequency. For each satellite transmitter, the respective ranging code can change over time. Also, a given ranging code can be used by different satellite transmitters at different time instances. A GNSS receiver decodes CDMA positioning signals using ranging codes associated with corresponding satellite transmitters. The GNSS receiver uses information decoded from a predefined number of positioning signals (e.g., four distinct positioning signals) associated with different satellite transmitters to determine, for example, its longitude, latitude, and altitude/elevation. The GPSS receiver typically maintains a number of ranging codes larger than the predefined number to increase the chances of receiving and successfully decoding a sufficient number (or the predefined number) of positioning signals at any point of time.
Some modernized satellite vehicles (SVs) broadcast or otherwise transmit both an in-phase signal (or component) and a quadrature-phase signal (or component) that is in quadrature with the in-phase signal. Generally, each of the in-phase signal and quadrature-phase signal has a primary pseudo-random PRN code (or a primary code) and a secondary (e.g., Newman-Hofman) PRN code (or a secondary code). Typically, the primary code is unique for each modernized SV and the secondary code is common for all modernized SVs. For example, a GPS L5 signal has an in-phase code L5I and a quadrature-phase code L5Q. The primary code for each of the L5I signal and the L5Q signal has a code length of 10230 chips that repeats every millisecond (ms) to give a code rate of 10.23e6 chips per second. The secondary code for the L5I signal has a 10-chip code length and repeats every 10 ms. Thus, each secondary code for the L5I signal is 1 ms, which is equal to one primary code epoch of 10230 chips. On the other hand, the secondary code for the L5Q signal has a 20-chip length and repeats every 20 ms. Further, the L5I signal is modulated with navigation data at a symbol rate of 100 symbols per second (or 10 milliseconds (ms) for each symbol), whereas the L5Q signal is a pilot channel with no navigation data modulated thereon. Therefore, the purpose of the secondary code is to speed up bit synchronization, and thus, the secondary code of the L5I signal and the navigation data are time aligned so that the duration of the secondary code period of the L5I signal corresponds to a data symbol (e.g., data bit) interval of the navigation data. Accordingly, the presence of the navigation data on the L5I signal can complicate the secondary code phase determination.